home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
18
/
fpc103.zip
/
TIMER.SEQ
< prev
next >
Wrap
Text File
|
1988-06-28
|
2KB
|
60 lines
\ TIMER.SEQ Time measurment words for F-PC.
: GETDATE ( --- Y MD ) 0 0 42 OS2 DROP ;
: SETDATE ( NM Y --- ) SWAP 43 OS2 NIP NIP 255 =
IF CR ." Invalid DATE " THEN ;
: GETTIME ( --- HM Sh ) 0 0 44 OS2 DROP ;
: SETTIME ( HM Sh --- ) SWAP 45 OS2 NIP NIP 255 =
IF CR ." Invalid TIME " THEN ;
: .## ( N1 --- ) \ Print two low digits of n1.
0 <# # # #> TYPE ;
: <.HM> ( D1 --- N1 )
SWAP 0 256 UM/MOD .## ." :" .## ;
: <.SH> ( N1 --- )
." :" 0 256 UM/MOD .## ." ." .## ;
: <.TIME> BASE @ >R DECIMAL SWAP 0 256 UM/MOD .## ." :" .##
." :" 0 256 UM/MOD .## ." ." .##
R> BASE ! SPACE ;
: .TIME GETTIME <.TIME> ;
: <.DATE> ( D1 --- )
BASE @ >R DECIMAL
0 256 UM/MOD .## ." /" .## ." /" 1900 - .##
R> BASE ! ;
: .DATE GETDATE <.DATE> ;
VARIABLE STIME 0 ,
VARIABLE TTIME 0 ,
: T>B 0 256 UM/MOD 100 * + SWAP 0 SWAP
0 256 UM/MOD >R 6000 *D D+ R> 1000 * 360 *D D+ ;
: B>T 0 100 UM/MOD >R 100 UM/MOD SWAP TTIME C!
R> 60 UM/MOD SWAP TTIME 1+ C!
60 /MOD TTIME 3 + C!
TTIME 2+ C! ;
: TIME-RESET GETTIME T>B STIME 2! ; \ RESET TIMER
: TIME-ELAPSED GETTIME T>B STIME 2@ D- ; ( - D1 ) \ BINARY
: B>SEC ( D1 - N1 ) \ CONVERT DOUBLE BINARY TO
0 100 UM/MOD DROP \ SECONDS, OVERFLOW AT 18 HRS
100 UM/MOD NIP ;
: <.ELAPSED> TIME-ELAPSED B>T TTIME 2@ <.TIME> ;
: .ELAPSED CR ." Elapsed time = " <.ELAPSED> ;
: TIMER TIME-RESET INTERPRET .ELAPSED ;